home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-17 | 5.9 KB | 177 lines | [TEXT/MPS ] |
- {
- File: QuickdrawText.p
-
- Copyright: © 1983-1993 by Apple Computer, Inc.
- All rights reserved.
-
- Version: System 7.1 for ETO #11
- Created: Tuesday, March 30, 1993 18:00
-
- }
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT QuickdrawText;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingQuickdrawText}
- {$SETC UsingQuickdrawText := 1}
-
- {$I+}
- {$SETC QuickdrawTextIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$IFC UNDEFINED UsingIntlResources}
- {$I $$Shell(PInterfaces)IntlResources.p}
- {$ENDC}
- {$SETC UsingIncludes := QuickdrawTextIncludes}
-
- CONST
-
- { CharToPixel directions }
- leftCaret = 0; {Place caret for left block}
- rightCaret = -1; {Place caret for right block}
- hilite = 1; {Direction is SysDirection}
-
- smLeftCaret = 0; {Place caret for left block obsolete }
- smRightCaret = -1; {Place caret for right block obsolete }
- smHilite = 1; {Direction is TESysJust obsolete }
-
- {Constants for styleRunPosition argument in PortionLine, DrawJustified,
- MeasureJustified, CharToPixel, and PixelToChar.}
- onlyStyleRun = 0; { This is the only style run on the line }
- leftStyleRun = 1; { This is leftmost of multiple style runs on the line }
- rightStyleRun = 2; { This is rightmost of multiple style runs on the line }
- middleStyleRun = 3; { There are multiple style runs on the line and this
- is neither the leftmost nor the rightmost. }
- smOnlyStyleRun = 0; { obsolete }
- smLeftStyleRun = 1; { obsolete }
- smRightStyleRun = 2; { obsolete }
- smMiddleStyleRun = 3; { obsolete }
-
- TYPE
-
- { type for styleRunPosition parameter in PixelToChar etc. }
- JustStyleCode = INTEGER;
-
- FontInfo = RECORD
- ascent: INTEGER;
- descent: INTEGER;
- widMax: INTEGER;
- leading: INTEGER;
- END;
-
- FormatOrder = ARRAY [0..0] OF INTEGER;
- FormatOrderPtr = ^FormatOrder;
- FormatStatus = INTEGER;
-
-
-
- FUNCTION Pixel2Char(textBuf: Ptr;textLen: INTEGER;slop: INTEGER;pixelWidth: INTEGER;
- VAR leadingEdge: BOOLEAN): INTEGER;
- INLINE $2F3C,$820E,$0014,$A8B5;
- FUNCTION Char2Pixel(textBuf: Ptr;textLen: INTEGER;slop: INTEGER;offset: INTEGER;
- direction: INTEGER): INTEGER;
- INLINE $2F3C,$820C,$0016,$A8B5;
-
- { New for 7.0 }
- FUNCTION PixelToChar(textBuf: Ptr;textLen: LONGINT;slop: Fixed;pixelWidth: Fixed;
- VAR leadingEdge: BOOLEAN;VAR widthRemaining: Fixed;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point): INTEGER;
- INLINE $2F3C,$8222,$002E,$A8B5;
- FUNCTION NPixel2Char(textBuf: Ptr;textLen: LONGINT;slop: Fixed;pixelWidth: Fixed;
- VAR leadingEdge: BOOLEAN;VAR widthRemaining: Fixed;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point): INTEGER;
- INLINE $2F3C,$8222,$002E,$A8B5;
- FUNCTION CharToPixel(textBuf: Ptr;textLen: LONGINT;slop: Fixed;offset: LONGINT;
- direction: INTEGER;styleRunPosition: JustStyleCode;numer: Point;denom: Point): INTEGER;
- INLINE $2F3C,$821C,$0030,$A8B5;
- FUNCTION NChar2Pixel(textBuf: Ptr;textLen: LONGINT;slop: Fixed;offset: LONGINT;
- direction: INTEGER;styleRunPosition: JustStyleCode;numer: Point;denom: Point): INTEGER;
- INLINE $2F3C,$821C,$0030,$A8B5;
- PROCEDURE DrawJustified(textPtr: Ptr;textLength: LONGINT;slop: Fixed;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point);
- INLINE $2F3C,$8016,$0032,$A8B5;
- PROCEDURE NDrawJust(textPtr: Ptr;textLength: LONGINT;slop: Fixed;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point);
- INLINE $2F3C,$8016,$0032,$A8B5;
- PROCEDURE MeasureJustified(textPtr: Ptr;textLength: LONGINT;slop: Fixed;charLocs: Ptr;
- styleRunPosition: JustStyleCode;numer: Point;denom: Point);
- INLINE $2F3C,$801A,$0034,$A8B5;
- PROCEDURE NMeasureJust(textPtr: Ptr;textLength: LONGINT;slop: Fixed;charLocs: Ptr;
- styleRunPosition: JustStyleCode;numer: Point;denom: Point);
- INLINE $2F3C,$801A,$0034,$A8B5;
- FUNCTION NPortionText(textPtr: Ptr;textLen: LONGINT;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point): Fixed;
- INLINE $2F3C,$8412,$0036,$A8B5;
- FUNCTION PortionLine(textPtr: Ptr;textLen: LONGINT;styleRunPosition: JustStyleCode;
- numer: Point;denom: Point): Fixed;
- INLINE $2F3C,$8412,$0036,$A8B5;
-
- PROCEDURE HiliteText(textPtr: Ptr;textLength: INTEGER;firstOffset: INTEGER;
- secondOffset: INTEGER;VAR offsets: OffsetTable);
- INLINE $2F3C,$800E,$001C,$A8B5;
- PROCEDURE DrawJust(textPtr: Ptr;textLength: INTEGER;slop: INTEGER);
- INLINE $2F3C,$8008,$001E,$A8B5;
- PROCEDURE MeasureJust(textPtr: Ptr;textLength: INTEGER;slop: INTEGER;charLocs: Ptr);
- INLINE $2F3C,$800C,$0020,$A8B5;
-
- FUNCTION PortionText(textPtr: Ptr;textLen: LONGINT): Fixed;
- INLINE $2F3C,$8408,$0024,$A8B5;
- FUNCTION VisibleLength(textPtr: Ptr;textLen: LONGINT): LONGINT;
- INLINE $2F3C,$8408,$0028,$A8B5;
- PROCEDURE GetFormatOrder(ordering: FormatOrderPtr;firstFormat: INTEGER;
- lastFormat: INTEGER;lineRight: BOOLEAN;rlDirProc: Ptr;dirParam: Ptr);
- INLINE $2F3C,$8012,$FFFC,$A8B5;
-
-
- PROCEDURE TextFont(font: INTEGER);
- INLINE $A887;
- PROCEDURE TextFace(face: Style);
- INLINE $A888;
- PROCEDURE TextMode(mode: INTEGER);
- INLINE $A889;
- PROCEDURE TextSize(size: INTEGER);
- INLINE $A88A;
- PROCEDURE SpaceExtra(extra: Fixed);
- INLINE $A88E;
- PROCEDURE DrawChar(ch: CHAR);
- INLINE $A883;
- PROCEDURE DrawString(s: Str255);
- INLINE $A884;
- PROCEDURE DrawText(textBuf: Ptr;firstByte: INTEGER;byteCount: INTEGER);
- INLINE $A885;
- FUNCTION CharWidth(ch: CHAR): INTEGER;
- INLINE $A88D;
- FUNCTION StringWidth(s: Str255): INTEGER;
- INLINE $A88C;
- FUNCTION TextWidth(textBuf: Ptr;firstByte: INTEGER;byteCount: INTEGER): INTEGER;
- INLINE $A886;
- PROCEDURE MeasureText(count: INTEGER;textAddr: Ptr;charLocs: Ptr);
- INLINE $A837;
- PROCEDURE GetFontInfo(VAR info: FontInfo);
- INLINE $A88B;
-
- PROCEDURE CharExtra(extra: Fixed);
- INLINE $AA23;
-
- PROCEDURE StdText(count: INTEGER;textAddr: Ptr;numer: Point;denom: Point);
- INLINE $A882;
- FUNCTION StdTxMeas(byteCount: INTEGER;textAddr: Ptr;VAR numer: Point;VAR denom: Point;
- VAR info: FontInfo): INTEGER;
- INLINE $A8ED;
-
-
- {$ENDC} { UsingQuickdrawText }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-